summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorgerman77 <juangerman-13@hotmail.com>2022-11-26 16:28:04 +0100
committergerman77 <juangerman-13@hotmail.com>2022-11-27 17:53:22 +0100
commita67e776af9bbd7d297aa203922eeabb9c0829172 (patch)
tree222cea7b63dd2afd28b8924414d107a1206d9b42
parentMerge pull request #9276 from goldenx86/fsrSlider (diff)
downloadyuzu-a67e776af9bbd7d297aa203922eeabb9c0829172.tar
yuzu-a67e776af9bbd7d297aa203922eeabb9c0829172.tar.gz
yuzu-a67e776af9bbd7d297aa203922eeabb9c0829172.tar.bz2
yuzu-a67e776af9bbd7d297aa203922eeabb9c0829172.tar.lz
yuzu-a67e776af9bbd7d297aa203922eeabb9c0829172.tar.xz
yuzu-a67e776af9bbd7d297aa203922eeabb9c0829172.tar.zst
yuzu-a67e776af9bbd7d297aa203922eeabb9c0829172.zip
-rw-r--r--src/core/hid/emulated_devices.cpp1
-rw-r--r--src/input_common/main.cpp10
-rw-r--r--src/yuzu_cmd/emu_window/emu_window_sdl2.cpp2
3 files changed, 13 insertions, 0 deletions
diff --git a/src/core/hid/emulated_devices.cpp b/src/core/hid/emulated_devices.cpp
index 8d367b546..658dbd318 100644
--- a/src/core/hid/emulated_devices.cpp
+++ b/src/core/hid/emulated_devices.cpp
@@ -145,6 +145,7 @@ void EmulatedDevices::UnloadInput() {
for (auto& button : keyboard_modifier_devices) {
button.reset();
}
+ ring_analog_device.reset();
}
void EmulatedDevices::EnableConfiguration() {
diff --git a/src/input_common/main.cpp b/src/input_common/main.cpp
index b2064ef95..76df133f3 100644
--- a/src/input_common/main.cpp
+++ b/src/input_common/main.cpp
@@ -138,6 +138,16 @@ struct InputSubsystem::Impl {
Common::Input::UnregisterFactory<Common::Input::OutputDevice>(tas_input->GetEngineName());
tas_input.reset();
+ Common::Input::UnregisterFactory<Common::Input::InputDevice>(camera->GetEngineName());
+ Common::Input::UnregisterFactory<Common::Input::OutputDevice>(camera->GetEngineName());
+ camera.reset();
+
+ Common::Input::UnregisterFactory<Common::Input::InputDevice>(
+ virtual_amiibo->GetEngineName());
+ Common::Input::UnregisterFactory<Common::Input::OutputDevice>(
+ virtual_amiibo->GetEngineName());
+ virtual_amiibo.reset();
+
#ifdef HAVE_SDL2
Common::Input::UnregisterFactory<Common::Input::InputDevice>(sdl->GetEngineName());
Common::Input::UnregisterFactory<Common::Input::OutputDevice>(sdl->GetEngineName());
diff --git a/src/yuzu_cmd/emu_window/emu_window_sdl2.cpp b/src/yuzu_cmd/emu_window/emu_window_sdl2.cpp
index 4ac72c2f6..37dd1747c 100644
--- a/src/yuzu_cmd/emu_window/emu_window_sdl2.cpp
+++ b/src/yuzu_cmd/emu_window/emu_window_sdl2.cpp
@@ -7,6 +7,7 @@
#include "common/scm_rev.h"
#include "common/settings.h"
#include "core/core.h"
+#include "core/hid/hid_core.h"
#include "core/perf_stats.h"
#include "input_common/drivers/keyboard.h"
#include "input_common/drivers/mouse.h"
@@ -26,6 +27,7 @@ EmuWindow_SDL2::EmuWindow_SDL2(InputCommon::InputSubsystem* input_subsystem_, Co
}
EmuWindow_SDL2::~EmuWindow_SDL2() {
+ system.HIDCore().UnloadInputDevices();
input_subsystem->Shutdown();
SDL_Quit();
}